﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ihm
{
    public partial class FenetreDemandeProduction : Form
    {
        private CIAI fentrePrincipale;
        private bool numLotValid;

        public FenetreDemandeProduction(CIAI c)
        {
            InitializeComponent();
            comboBox1.Items.Add("A");
            comboBox1.Items.Add("B");
            this.fentrePrincipale = c;
            this.numLotValid = false;
        }

        private void Commande_Load(object sender, EventArgs e)
        {

        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void buttonAnnuler_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        //Validation de commande de Production, envoi du message et rajout dans l'IHM
        private void buttonValider_Click(object sender, EventArgs e)
        {
            if (!fentrePrincipale.numLot.Contains(numericUpDown1.Value.ToString()))
            {
                Commande.TypeProduit typeProduit = Commande.TypeProduit.A;
                if(comboBox1.SelectedItem.ToString() == "B")
                    typeProduit = Commande.TypeProduit.B;
                fentrePrincipale.numLot.Add(numericUpDown1.Value.ToString());
                Commande commande = new Commande((int)numericUpDown1.Value, typeProduit, (int)numericUpDown2.Value, (int)numericUpDown3.Value, (int)numericUpDown4.Value, (int) numericUpDown4.Value);
                this.fentrePrincipale.Sender.SendMessage(new Message(Message.TypeObjet.Lot, Message.TypeMessage.Information, commande.NumLot, commande.TypeProduit_t.ToString() + " " + commande.NbPalette + " " + CIAI.CodeOperateur + " "+commande.SeuilRebut));
                this.fentrePrincipale.ajouterCommande(commande);
                fentrePrincipale.ajoutProduction(numericUpDown1.Value.ToString(), comboBox1.SelectedItem.ToString(), numericUpDown2.Value.ToString());
                this.Close();
            }
        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            if (fentrePrincipale.numLot.Contains(numericUpDown1.Value.ToString()))
            {
                labelNumLotValid.Text = "numéro de lot déjà existant !";
                labelNumLotValid.ForeColor = System.Drawing.Color.DarkRed;
                this.numLotValid = false;
            }
            else
            {
                labelNumLotValid.Text = "numéro de lot valide";
                labelNumLotValid.ForeColor = System.Drawing.Color.ForestGreen;
                this.numLotValid = true;
            }
        }


    }
}
